<meta charset="utf-8"/>
<?php

//采集标题，时间，分类
//传入一个url  获取总的数组数据data
function article_spider($url){
	//访问http://www.ict.ac.cn/xwzx/jssxw/，采集数据

	//初始化
	$curl = curl_init();
	//路径,采集主页上任意一个小标题上的内容，如时间，标题，分类，内容等
	// $url = "http://www.ict.ac.cn/xwzx/jssxw/";
	//$url = "http://www.ict.ac.cn/xwzx/jssxw/201608/t20160830_4657005.html";
	//
	curl_setopt($curl,CURLOPT_URL,$url);
	curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
	//发送请求,获取到所有主页内容
	$str = curl_exec($curl);

	//开始匹配，采集详细信息
	//采集标题
	 $title_parttern = "/<td align=\"center\" class=\"black_20_600\">(.*?)<\/td>/";
	//正则匹配
	preg_match($title_parttern,$str,$arr);
	// print_r($arr);
	//只要获取文字部分,用一个变量存放
	$title = $arr[1];
	// echo $title;

	//采集日期
	$date_parttern = "/<td align=\"center\" class=\"font03\">(.*?)<\/td>/";
	//正则匹配数据
	preg_match($date_parttern,$str,$arr);
	// print_r($arr);
	//获取日期部分
	$date_exp = explode('|',$arr[1]);
	$date = $date_exp[0];
	// echo $date;

	//采集分类,获取'计算所新闻'
	 $classify_parttern = "/<a href=\"\.\.\/\" class='cn51black12b CurrChnlCls'>(.*?)<\/a>/";

	//正则匹配
	preg_match_all($classify_parttern,$str,$arr);
	// print_r($arr);
	$classify = $arr[1][0];
	// echo $classify;

	//匹配内容
	$content_parttern = "/<div class=TRS_Editor>(.*?)<\/div>/";
    preg_match_all($content_parttern,$str,$arr);
    $content = $arr[1][0];
    $data['content'] = $content;
    
	//关闭
	curl_close($curl);


	//所有的数据用一个数组装起来
	$data = array();
	$data['title'] = $title;
	$data['date'] = $date;
	$data['classify'] = $classify;
    $data['content'] = $content;
	//print_r($data);
	return $data;
}


//打开文件获取json字符串，把字符串转换为数组
  function read_all(){
  	//读取所有数据
	$json = file_get_contents('article.json');
	//把字符串转换为数组
	$allData = (array)json_decode($json);
	return $allData;

  }


//往已有数组$allData追加数据
   function insert($data){
   	  //这里的$allData从 read_all()函数调用得来，执行函数里的所有内容
   	  $allData = read_all();
   	  //把调用article_spider($url)取得数据$data追加到$allData里;
   	  array_push($allData,$data);
   	  //把数组转换为字符串
   	  $json = json_encode($allData);
      //保存
      file_put_contents('article.json', $json);

   }